package CONTABILIDAD_MODELO;

import Conexion.Conexion;
import java.sql.SQLException;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;

public class CON_PROYECTO {

    private Double ID;
    private String DESCRIPCION;
    private Double ESTADO;
    private Conexion con = null;

    public CON_PROYECTO() {
    }

    public CON_PROYECTO(Double ID, String DESCRIPCION, Double ESTADO) {
        this.ID = ID;
        this.DESCRIPCION = DESCRIPCION;
        this.ESTADO = ESTADO;
    }

    public boolean Insertar() {
        try {
            String consulta = "insert into BROKER.CON_PROYECTO(ID, DESCRIPCION, ESTADO) VALUES (" + ID + ",'" + DESCRIPCION + "',"+ESTADO+")";
            con.EjecutarSentencia(consulta);
            return true;
        } catch (Exception e) {
            e.printStackTrace();
            return false;
        }
    }

    public boolean EliminarXid() {
        try {
            String consulta = "delete from BROKER.CON_PROYECTO where ID= " + getID();
            con.EjecutarSentencia(consulta);
            return true;
        } catch (Exception e) {
            e.printStackTrace();
            return false;
        }
    }
    
    public boolean DesHabilitar() throws SQLException {
            String consulta = "update BROKER.CON_PROYECTO set ESTADO = 1 where ID= " + getID();
            con.EjecutarSentencia(consulta);
            return true;        
    }
    
    public boolean DesHabilitar(double id) throws SQLException {
            String consulta = "update BROKER.CON_PROYECTO set ESTADO = 1 where ID= " + id;
            con.EjecutarSentencia(consulta);
            return true;        
    }
    
    public boolean activar(Double id) throws SQLException {
            String consulta = "update BROKER.CON_PROYECTO set ESTADO = 0 where ID ="+id;
            con.EjecutarSentencia(consulta);
            return true;
    }


    public List<CON_PROYECTO> Todos() {
        try {
            String consulta = "select * from BROKER.CON_PROYECTO where ESTADO = 0";
            ResultSet rs = con.EjecutarConsulta(consulta);
            return Cargar(rs);
        } catch (Exception e) {
            e.printStackTrace();
            return null;
        }
    }

    public List<CON_PROYECTO> Cargar(ResultSet rs) {
        try {
            List<CON_PROYECTO> lista = new ArrayList<CON_PROYECTO>();
            while (rs.next()) {
                CON_PROYECTO objeto = new CON_PROYECTO();
                objeto.setID(rs.getDouble("ID"));
                objeto.setESTADO(rs.getDouble("ESTADO"));
                objeto.setDESCRIPCION(rs.getString("DESCRIPCION"));
                objeto.setCon(con);
                lista.add(objeto);
            }
            return lista;
        } catch (SQLException ex) {
            ex.printStackTrace();
            return null;
        }
    }

    public Double getESTADO() {
        return ESTADO;
    }

    public void setESTADO(Double ESTADO) {
        this.ESTADO = ESTADO;
    }

    public double getID() {
        return ID;
    }

    public void setID(double ID) {
        this.ID = ID;
    }

    public String getDESCRIPCION() {
        return DESCRIPCION;
    }

    public void setDESCRIPCION(String DESCRIPCION) {
        this.DESCRIPCION = DESCRIPCION;
    }

    public Conexion getCon() {
        return this.con;
    }

    public void setCon(Conexion con) {
        this.con = con;
    }        
}
